package Java网络编程;

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

/*服务器端
 *   TCP接收数据步骤：
 *   1.创建服务器端的Socket对象
 *   2.监听客户端连接，返回一个Socket对象
 *   3.获取输入流，读数据并把数据显示在控制台
 *   4.释放资源
 *
 * ServerSocket:
 *   这个类实现了服务器套接字。服务器套接字等待通过网络进入的请求。
 * 它根据该请求执行一些操作，然后可能将结果返回给请求者。
 * */
public class ServerDemo {
    public static void main(String[] args) throws IOException {
        //1.创建服务器端的Socket对象

        //ServerSocket(int port) 创建绑定到指定端口的服务器套接字。
        ServerSocket ss = new ServerSocket(10000);

        //2.监听客户端连接，返回一个Socket对象

        //Socket accept() 侦听要连接到此套接字并接受它。
        Socket s = ss.accept();

        //3.获取输入流，读数据并把数据显示在控制台
        InputStream is = s.getInputStream();
        byte[] bys = new byte[1024];
        //abstract int read()
        //从输入流读取数据的下一个字节。
        int len = is.read(bys);
        String data = new String(bys,0,len);
        System.out.println("服务器端收到数据："+data);

        //4.释放资源
        ss.close();
    }
}
